home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b8.d64
/
demo 4.1.b.l
< prev
next >
Wrap
Text File
|
2007-02-28
|
1KB
|
80 lines
0010 PROC INIT
0020 SETGRAPHIC 0
0030 HIDETURTLE
0040 FULLSCREEN
0050 BACKGROUND 0
0060 BORDER 0
0070 ENDPROC INIT
0080 //
0090 PROC SQUARE(H,V,L) CLOSED
0100 MOVETO H,V
0110 FOR LOOP:=1 TO 2 DO
0120 FORWARD L*.75
0130 RIGHT 90
0140 FORWARD L
0150 RIGHT 90
0160 ENDFOR LOOP
0170 ENDPROC SQUARE
0180 //
0190 PROC POLY(H,V,L,S) CLOSED
0200 MOVETO H,V
0210 FOR LOOP:=1 TO S DO
0220 FORWARD L
0230 RIGHT 360/S
0240 ENDFOR LOOP
0250 ENDPROC POLY
0260 //
0270 PROC CIRCLE(H,V,SCALE) CLOSED
0280 MOVETO H,V
0290 ASPECT:=1.3
0300 Y:=0
0310 FIRST:=TRUE
0320 D'THETA:=.1
0330 C:=COS(D'THETA)
0340 S:=SIN(D'THETA)
0350 NUM:=64
0360 FOR LOOP:=1 TO NUM DO
0370 TEMP:=SCALE*C-Y*S
0380 Y:=Y*C+SCALE*S
0390 SCALE:=TEMP
0400 SX:=ASPECT*SCALE+H
0410 SY:=V-Y
0420 IF FIRST THEN
0430 MOVETO SX,SY
0440 FIRST:=FALSE
0450 ELSE
0460 DRAWTO SX,SY
0470 ENDIF
0480 ENDFOR LOOP
0490 ENDPROC CIRCLE
0500 //
0510 INIT
0520 COUNTER:=0
0530 REPEAT
0540 COUNTER:=COUNTER+1
0550 SCALE:=RND(5,40)
0560 L:=RND(5,40)
0570 S:=RND(3,8)
0580 H:=RND(0,320)
0590 V:=RND(0,200)
0600 PENCOLOR RND(1,15)
0610 CT:=RND(1,3)
0620 CASE CT OF
0630 WHEN 1
0640 POLY(H,V,L,S)
0650 IF COUNTER>20 THEN
0660 COUNTER:=0
0670 CLEAR
0680 ELSE
0690 NULL
0700 ENDIF
0710 WHEN 2
0720 SQUARE(H,V,L)
0730 WHEN 3
0740 CIRCLE(H,V,SCALE)
0750 OTHERWISE
0760 NULL
0770 ENDCASE
0780 UNTIL KEY$<>CHR$(0)
0790 END